package com.raos.example.service;

import dev.langchain4j.service.MemoryId;
import dev.langchain4j.service.SystemMessage;
import dev.langchain4j.service.UserMessage;

/**
 * AI 助手接口
 *
 * @author raos
 * @date 2025-03-20
 */
public interface Assistant {

    /**
     * 普通聊天
     *
     * @param message 咨询问题
     * @return
     */
    String chat(String message);

    /**
     * 基于注解的角色聊天
     *
     * @param message 咨询问题
     * @return
     */
    @SystemMessage("假如你是毛泽东，接下来请以毛泽东的语气来对话")
    String roleChat(String message);

    /**
     * 带会话记忆的聊天
     *
     * @param memoryId 会话记忆ID
     * @param message 咨询问题
     * @return
     */
    String chat(@MemoryId String memoryId, @UserMessage String message);
}
